/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author        Notes
 * 2021-10-17     Meco Man      First version
 */
#include <rtthread.h>
#include <lvgl.h>
#include <lv_port_indev.h>
#include <lvgl_test.h>
#define DBG_TAG    "LVGL.demo"
#define DBG_LVL    DBG_INFO
#include <rtdbg.h>
#include <drv_lcd.h>
#ifndef LV_THREAD_STACK_SIZE
#define LV_THREAD_STACK_SIZE 4096
#endif

#ifndef LV_THREAD_PRIO
#define LV_THREAD_PRIO (RT_THREAD_PRIORITY_MAX*2/3)
#endif

static void lvgl_thread(void *parameter)
{
    // lcd 初始化
   LCD_Init();
   POINT_COLOR=RED;
   LCD_ShowString(30,40,210,24,24,"SpeedMeter LVGL");

   // lvgl 初始化
   lv_init();
   lv_port_disp_init();

   // 显示
   lv_example_meter_2();

    /* handle the tasks of LVGL */
    while(1)
    {
        lv_tick_inc(10);
        lv_task_handler();
        rt_thread_mdelay(10);
    }
}

static int lvgl_gui_init(void)
{
    rt_thread_t tid;
    tid = rt_thread_create("LVGL", lvgl_thread, RT_NULL, LV_THREAD_STACK_SIZE, LV_THREAD_PRIO, 0);
    rt_thread_startup(tid);
    return 0;
}
INIT_APP_EXPORT(lvgl_gui_init);
